AbstractItem = {}
AbstractItem.__index = AbstractItem

function AbstractItem:new(name, max_count)
    local obj = {
        name = name,
        max_count = max_count,
    }
    setmetatable(obj, self)
    return obj
end